package src.main.java.service;


import com.github.pagehelper.PageInfo;
import vo.common.dto.system.AssginRoleDto;
import vo.common.dto.system.LoginDto;
import vo.common.dto.system.SysUserDto;
import vo.common.entity.system.SysUser;
import vo.common.vo.system.LoginVo;


public interface SysUserService {

    /**
     * 根据用户名查询用户数据
     * @return
     */
    LoginVo login(LoginDto loginDto) ;

    /**
     * 根据token查询用户数据
     * @return
     */
    SysUser getUserInfo(String token);

    /**
     * 退出功能
     * @return
     */
    void logout(String token);

    /**
     * @Description: 用户条件分页查询接口
     * @param sysUserDto
     * @param pageNum
     * @param pageSize
     */
    PageInfo<SysUser> findByPage(SysUserDto sysUserDto, Integer pageNum, Integer pageSize);

    /**
     * @Description: 用户添加接口
     * @param sysUser
     */
    void saveSysUser(SysUser sysUser);

    /**
     * @Description: 用户修改接口
     * @param sysUser
     */
    void updateSysUser(SysUser sysUser);

    /**
     * @Description: 用户删除接口
     * @param userId
     */
    void deleteById(Long userId);

    /**
     * @Description: 用户分配角色保存分配数据
     * @param assginRoleDto
     */
    void doAssign(AssginRoleDto assginRoleDto);
}
